1. Technical Field
The present invention is related to the field of computer graphical user interfaces, and more particularly to computer graphical user interfaces for visualizing and manipulating nodes.
2. Description of Related Art
In the field of computer graphical user interfaces (GUIs), there is competition between the amount of space available for representing data and the usability of the interface to be produced. In representing hierarchical data, this competition is extremely important because the user of this data gains important information not only from the data itself, but also from the relationships between the data.
FIG. 1 depicts at 30 a traditional representation of hierarchical data called a 2D tree. This structure consists of a plurality of tree nodes connected by a plurality of edges. For example, parent node 32 connects to one or more child nodes 34 via edges 35. The tree ultimately terminates at leaf nodes 36. A difficulty with the 2D tree approach is the size of the graph. A 2D tree quickly exceeds the capacity of most conventional means of displaying the graph. While it is possible to represent the 2D tree with hundreds of nodes so that all nodes are visible, the size of the edges and nodes make this 2D tree effectively useless for many applications.
In response to this problem, several alternative tree layouts have been developed. One of these layouts of a tree is a radial layout tree 40 of which an example is depicted in FIG. 2. In the radial tree 40, the root node 42 is located at or about the center of the tree 40, with the children nodes (i.e., level one nodes) being placed in the first ring 44 about the root node 42. The next generation of children nodes (i.e., level two nodes) are placed in a second ring 46 about the first ring 44, and so on. A difficulty arises that when many nodes are added to a radial tree, the nodes become too small or close together to be easily examined by a user.
Fisheye distortion techniques have been applied to the radial tree that use a user-defined area to enlarge and occupy more space with the non-focus areas being shrunken to occupy less space. For example, FIG. 3 depicts at 50 a radial layout tree prior to a fisheye distortion. The fisheye distortion technique results in the distorted radial tree shown at 52. The fisheye distortion technique causes compression equally in all directions, based on the radial distance from the focus point 54. Despite such approaches as the fisheye technique and others, the problem remains (as well as other problems) that on hierarchical trees with large numbers of nodes, the nodes (such as the leaf nodes) are too compacted to provide an adequate level of detail for ease of comprehension by the user.
The present invention overcomes these and other problems of the aforementioned techniques. In accordance with the teachings of the present invention, a computer-implemented method and system are provided to display nodes on a display device. First positions are used for locating a first node and a second node on the display device. The first node and second node are separated from each other and are at least substantially equidistant from a predetermined center position. Second positions are determined for the first node and second node such that angular shift of the first node from its first position to its second position is different in magnitude than angular shift of the second node from its first position to its second position. These angular shifts for the first node and second node are with respect to the center position. The first node and second node are displayed on the display device based upon the determined second positions for the first node and second node.